package com.shujia.wyh.day07.ketang;
/*
    形式参数
        基本类型
        引用类型:
            数组：当数组作为方法的形式参数的时候，传入的是数组的地址值
            类：当看到类作为方法参数的数据类型的时候，将来调用时需要传入的时该类或者该类的子类对象
            接口：当看到接口作为方法的形参数据类型的时候，将来调用时，需要传入的是实现该接口具体的类的对象
            抽象类：当看到一个抽象类作为方法的形式参数的时候，将来调用时需要传入的是该类的具体的子类对象
    返回值类型
        基本类型
        引用类型
            数组：当数组作为方法的形式参数的时候，传入的是数组的地址值
            类：当你看到一个类作为方法的返回值类型的时候，方法中需要返回该类或者该类的子类对象
            接口：当你看一个接口作为方法的返回值类型的时候，方法中需要返回实现该接口的具体的类的对象
            抽象类：

 */

interface Inter5{
    void study();
}

class Inter5Impl implements Inter5{

    @Override
    public void study() {
        System.out.println("好好学习，天天向上");
    }
}

class Student5{
    //当你看一个接口作为方法的返回值类型的时候，方法中需要返回实现该接口的具体的类的对象
    public Inter5 show(){
        return new Inter5Impl();
    }
}
public class StudentDemo5 {
    public static void main(String[] args) {
        Student5 student5 = new Student5();
        Inter5 inter5 = student5.show(); //Inter5 inter5 = new Inter5Impl();
        inter5.study();

    }
}
